﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

//namespace transporteur
//{
    public partial class Pages_Default : System.Web.UI.Page
    {
        algemeen alg = new algemeen();
        //private Boolean[] check = new Boolean[14];
        //private Boolean inputValidation;
        string query1 = "";
        string query2 = "";
        string query3 = "";
        string query4 = "";
        //private SqlConnection conn;
        //private SqlDataReader dr;
        //private SqlCommand com;

        //private const string sql_string = "Server=FRANKNOTEBOOK; DataBase=logistiek; Integrated Security=true; Connect Timeout=5;";
        
        protected void Page_Load(object sender, EventArgs e)
        {
            
            /*
            Test.Text = "Last time this page was loaded, was at " + DateTime.Now.ToString();

            LabelAfhaalNaam.Text = AfhaalNaam.Text;
            LabelAfhaalAdres.Text = AfhaalAdres.Text;
            LabelAfhaalHuisnummer.Text = AfhaalHuisnummer.Text;
            LabelAfhaalPostcode.Text = AfhaalPostcode.Text;
            LabelAfhaalWoonplaats.Text = AfhaalWoonplaats.Text;

            LabelAfleverNaam.Text = AfleverNaam.Text;
            LabelAfleverAdres.Text = AfleverAdres.Text;
            LabelAfleverHuisnummer.Text = AfleverHuisnummer.Text;
            LabelAfleverPostcode.Text = AfleverPostcode.Text;
            LabelAfleverWoonplaats.Text = AfleverWoonplaats.Text;

            LabelVolume.Text = Volume.Text;
            LabelGewicht.Text = Gewicht.Text;

            LabelCheckBox1.Text = CheckBox1.Checked.ToString();
            LabelSubmitButton.Text = "";// SubmitButton.Enabled.ToString();
            */
            
        }
        
       
        private void verbinding()
        {
            //De verbinding die we gaan gebruiken
            System.Data.SqlClient.SqlConnection sqlConnection1 =
            new System.Data.SqlClient.SqlConnection(alg.sql_string);
            
            //Locatie Afhaaladres insert query
            System.Data.SqlClient.SqlCommand cmd1 = new System.Data.SqlClient.SqlCommand();
            cmd1.CommandType = System.Data.CommandType.Text;
            query1 = "INSERT locatie (straatnaam, huisnummer, plaats, land, telefoonnummer, postcode) VALUES ('" + AfhaalAdres.Text.ToString() + "', '" + AfhaalHuisnummer.Text.ToString() + "', '" + AfhaalWoonplaats.Text.ToString() + "', 'Nederland', null, '" + AfhaalPostcode.Text.ToString() + "')SELECT SCOPE_IDENTITY() id";
            //LabelErrorAfhaaladres.Text = query1;
            cmd1.CommandText = query1;
            cmd1.Connection = sqlConnection1;

            //Locatie Afleveladres insert query
            System.Data.SqlClient.SqlCommand cmd2 = new System.Data.SqlClient.SqlCommand();
            cmd2.CommandType = System.Data.CommandType.Text;
            query2 = "INSERT locatie (straatnaam, huisnummer, plaats, land, telefoonnummer, postcode) VALUES ('" + AfleverAdres.Text + "', '" + AfleverHuisnummer.Text + "', '" + AfleverWoonplaats.Text + "', 'Nederland', null, '" + AfleverPostcode.Text + "')SELECT SCOPE_IDENTITY() id";
            //LabelErrorAfleveradres.Text = query2;
            cmd2.CommandText = query2;
            cmd2.Connection = sqlConnection1;

            //Pakket insert query
            System.Data.SqlClient.SqlCommand cmd3 = new System.Data.SqlClient.SqlCommand();
            cmd3.CommandType = System.Data.CommandType.Text;
            query3 = "INSERT pakket (gewicht, groote, betaald, prijs) VALUES ('" + Gewicht.Text + "','" + Volume.Text + "', null, null)SELECT SCOPE_IDENTITY() id";
            //LabelErrorPakket.Text = query3;
            cmd3.CommandText = query3;
            cmd3.Connection = sqlConnection1;

            //DataReader is nodig voor het lezen van primary key
            System.Data.SqlClient.SqlDataReader lees1;
            System.Data.SqlClient.SqlDataReader lees2;
            System.Data.SqlClient.SqlDataReader lees3;
            System.Data.SqlClient.SqlDataReader lees4;

            //De 3 variabelen waar we de keys in gaan opslaan
            string sleutel1;
            string sleutel2;
            string sleutel3;

            //Daadwerkelijk verbinding maken
            sqlConnection1.Open();    
                //Voerd eerste query uit en onthoudt primary key
                lees1 = cmd1.ExecuteReader();
                lees1.Read();
                sleutel1 = lees1.GetSqlValue(0).ToString();
                lees1.Close();

                //Voerd tweede query uit en onthoudt primary key
                lees2 = cmd2.ExecuteReader();
                lees2.Read();
                sleutel2 = lees2.GetSqlValue(0).ToString();
                lees2.Close();

                //Voerd derde query uit en onthoudt primary key
                lees3 = cmd3.ExecuteReader();
                lees3.Read();
                sleutel3 = lees3.GetSqlValue(0).ToString();
                lees3.Close();

                //Route insert query
                System.Data.SqlClient.SqlCommand cmd4 = new System.Data.SqlClient.SqlCommand();
                cmd4.CommandType = System.Data.CommandType.Text;
                cmd4.CommandText = "DECLARE	@return_value int EXEC	@return_value = [dbo].[maak_route] @locatie_id1 = '" + sleutel1 + "',@locatie_id2 = '" + sleutel2 + "',@pakket_id = '" + sleutel3 + "' SELECT	'Return Value' = @return_value";
                cmd4.Connection = sqlConnection1;

                //Voerd vierde query uit en valideerd of het is gelukt
                string output;
                lees4 = cmd4.ExecuteReader();
                lees4.Read();
                output = lees4.GetSqlValue(0).ToString();
                lees4.Close();
                if (output == "") LabelBevestiging.Text = "Aanmelding is NIET gelukt!";
                else
                {
                    alg.status_update(sleutel3, "10", true);
                    LabelBevestiging.Text = "Aanmelding is gelukt! pakket_id = " + sleutel3 + " ";
                }
            //Verbinding weer netjes sluiten
            sqlConnection1.Close();
        }

        protected void SubmitButton_Click(object sender, EventArgs e)
        {
            //Input validatie is al gedaan aan de form kant
            //Form input inserten in database
              verbinding();
        }

        /*protected void ServerValidation(object source, ServerValidateEventArgs args)
        {
            args.IsValid = CheckBox1.Checked;
        } 
        
         <tr><td><asp:CheckBox ID="CheckBox1" runat="server" /></td>
             <td>U gaat akkoord met de voorwaarden.</td></tr>
         <tr><td colspan="2"><asp:CustomValidator runat="server" id="CustomValidatorCheckBox1" OnServerValidate="ServerValidation" ClientValidationFunction="ClientValidation" ErrorMessage="U moet de voorwaarden accepteren om door te kunnen gaan!" Display="Dynamic" ></asp:CustomValidator></td>
             <td></td></tr> 
         
         */

    }
//}
